import { test, expect } from '@playwright/test';

const path =require('path');
delete process.env.ROOT_URL
require('dotenv-flow').config({path: path.join(__dirname, '..')});
test('新建对象', async ({ page }) => {
  test.setTimeout(300000);
  await page.goto(`${process.env.ROOT_URL}`);
  await page.goto(path.join(`${process.env.ROOT_URL}`,'accounts/a/#/login?redirect_uri=/'));
  await page.getByPlaceholder('手机或邮箱').click();
  await page.getByPlaceholder('手机或邮箱').fill(`${process.env.LOGIN_NAME}@steedos.com`);
  await page.getByPlaceholder('手机或邮箱').press('Tab');
  await page.getByPlaceholder('密码').fill('123456');
  await page.getByPlaceholder('密码').press('Enter');
  await page.locator('.antd-Avatar').click();
  await page.getByRole('button', { name: '个人资料' }).click();
  await page.getByRole('menuitem', { name: '对象' }).locator('a').click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('test');
  await page.locator('input[name="name"]').click();
  await page.locator('input[name="name"]').fill('test');
  await page.getByText('请选择').click();
  await page.getByTitle('\n        \n            \n                \n                    \n                \n             \n        \n        account_info\n    ', { exact: true }).locator('span').nth(1).click();
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByText('对象字段').click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('text1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('text');
  await page.getByText('请选择').click();
  await page.getByPlaceholder('搜索').click();
  await page.getByTitle('文本', { exact: true }).click();
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('长文本').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('textarea1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('textarea');
  await page.getByRole('spinbutton').click();
  await page.getByRole('spinbutton').fill('3');
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('富文本').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('richtext');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('richtext');
  await page.locator('input[name="label"]').click();
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('代码').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('code1');
  await page.locator('div').filter({ hasText: /^字段名\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="_name"]').fill('code');
  await page.getByText('请选择').click();
  await page.getByText('dockerfile').click();
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByText('Markdown').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('markdown1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('mdown');
  await page.getByRole('button', { name: '保存', exact: true }).click();
  // await page.getByRole('button', { name: '新建' }).click();
  // await page.getByText('请选择').click();
  // await page.getByTitle('选择框').click();
  // await page.locator('input[name="label"]').click();
  // await page.locator('input[name="label"]').fill('select');
  // await page.locator('input[name="_name"]').click();
  // await page.locator('input[name="_name"]').fill('select');
  // await page.locator('input[name="label"]').click();
  // await page.locator('input[name="label"]').fill('select1');
  // await page.getByRole('button', { name: '+ 新增' }).click();
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="label"]').click();
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="label"]').fill('1');
  // await page.locator('input[name="value"]').click();
  // await page.locator('input[name="value"]').fill('1');
  // await page.getByRole('button', { name: '+ 新增' }).click();
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="label"]').fill('2');
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="label"]').click();
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="value"]').fill('2');
  // await page.getByRole('row', { name: ' 请选择颜色' }).locator('input[name="value"]').click();
  // await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByRole('combobox').click();
  await page.getByTitle('颜色').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('color');
  await page.locator('div').filter({ hasText: /^字段名\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="_name"]').fill('color');
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('复选框').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('multicolor');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('multicolor');
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('开关').click();
  await page.locator('input[name="label"]').fill('s');
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('switch');
  await page.locator('input[name="_name"]').fill('s');
  await page.locator('div').filter({ hasText: /^字段名\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="_name"]').fill('switch');
  await page.getByRole('button', { name: '保存', exact: true }).click();
  await page.getByRole('button', { name: '新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('日期', { exact: true }).click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('date');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('date');
  await page.locator('form').filter({ hasText: '通用高级外部数据源界面布局 所属对象*test' }).getByRole('button').click();
  await page.locator('div').filter({ hasText: /^逻辑函数$/ }).locator('i').click();
  await page.getByText('日期函数').click();
  await page.getByText('TODAY').first().click();
  await page.getByRole('button', { name: '确认' }).click();
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('日期时间').click();
  await page.locator('div').filter({ hasText: /^显示名称\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="label"]').fill('datetime1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('datetime');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('时间', { exact: true }).click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('time');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('time');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('数值').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('number1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('number');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('金额').click();
  await page.locator('div').filter({ hasText: /^显示名称\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="label"]').fill('amount');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('amount');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.locator('input[name="label"]').click();
  await page.getByText('请选择').click();
  await page.getByTitle('百分比').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('percent1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('percent');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByRole('combobox').click();
  await page.getByTitle('密码').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('password1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('pawd');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('相关表关系').locator('span').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('lookup1');
  await page.locator('div').filter({ hasText: /^字段名\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="_name"]').fill('lkup');
  await page.getByText('请选择').click();
  await page.getByText('人员(space_users)').click();
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByText('主/子表关系').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('masterdetail1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('mdetail');
  await page.getByText('请选择').click();
  await page.getByText('公告(announcements)').click();
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('自动编号').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('autocode');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('acode');
  await page.locator('textarea[name="formula"]').click();
  await page.locator('textarea[name="formula"]').fill('{}');
  await page.locator('textarea[name="formula"]').press('ArrowLeft');
  await page.getByText('{}').fill('{0000}');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('网址').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('site1');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('site');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByRole('combobox').click();
  await page.getByTitle('邮件地址').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('email');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('mail');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('地理位置').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('location');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('location');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('图片').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('image');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('img');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('附件').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('attach1');
  await page.locator('div').filter({ hasText: /^字段名\*$/ }).locator('div').nth(2).click();
  await page.locator('input[name="_name"]').fill('attach');
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByTitle('公式').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('formula');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('fomul');
  await page.locator('textarea[name="formula"]').click();
  await page.locator('textarea[name="formula"]').fill('TODAY()');
  await page.getByText('请选择').first().click();
  await page.getByTitle('日期', { exact: true }).click();
  await page.getByText('请选择').click();
  await page.getByText('将空白字段视为零').click();
  await page.getByRole('button', { name: '保存并新建' }).click();
  await page.getByText('请选择').click();
  await page.getByText('累计汇总').click();
  await page.locator('input[name="label"]').click();
  await page.locator('input[name="label"]').fill('sum');
  await page.locator('input[name="_name"]').click();
  await page.locator('input[name="_name"]').fill('sum');
  await page.getByText('请选择').first().click();
  await page.getByPlaceholder('搜索').fill('');
  await page.locator('.antd-PopOver-overlay').click();
  await page.getByText('请选择').nth(1).click();
  await page.getByText('COUNT', { exact: true }).click();
  await page.getByText('请选择').click();
  await page.locator('.antd-PopOver-overlay').click();
  await page.getByRole('button', { name: '取消' }).click();
  const page1Promise = page.waitForEvent('popup');
  await page.getByRole('button', { name: '预览' }).click();
  const page1 = await page1Promise;
  await page1.getByRole('button', { name: '新建' }).click();
  await page1.locator('input[name="text__c"]').click();
  await page1.locator('input[name="text__c"]').fill('11');
  await page1.locator('textarea[name="textarea__c"]').click();
  await page1.locator('textarea[name="textarea__c"]').fill('22');
  await page1.locator('textarea[name="textarea__c"]').click();
  await page1.getByText('请选择').first().click();
  await page1.getByTitle('1').click();
  await page1.locator('.in > .antd-Form-item > .antd-Form-value > .antd-EditorControl > .antd-MonacoEditor > div > .overflow-guard > .monaco-scrollable-element > .lines-content > .view-lines').click();
  await page1.getByLabel('编辑器内容;按 Alt+F1 可打开辅助功能选项。').nth(1).fill('111');
  await page1.getByPlaceholder('请选择颜色').click();
  await page1.getByTitle('#D0021B').click();
  await page1.locator('.antd-PopOver-overlay').click();
  await page1.locator('div').filter({ hasText: /^multicolor$/ }).locator('i').click();
  await page1.locator('div').filter({ hasText: /^switch$/ }).locator('label').nth(1).click();
  await page1.getByPlaceholder('请选择日期以及时间').click();
  await page1.getByRole('cell', { name: '14' }).locator('span').click();
  await page1.locator('.antd-PopOver-overlay').click();
  await page1.locator('div').filter({ hasText: /^ic_时间$/ }).nth(2).click();
  await page1.locator('[id="\\31 713088415154-0-input"]').getByText('00').click();
  await page1.locator('[id="\\31 713088415154-1-input"]').getByText('03').click();
  await page1.locator('[id="\\31 713088415154-0-input"]').getByText('03').click();
  await page1.locator('[id="\\31 713088415154-0-input"]').getByText('07').click();
  await page1.locator('[id="\\31 713088415154-1-input"]').getByText('07').click();
  await page1.locator('.antd-PopOver-overlay').click();
  await page1.getByPlaceholder('请选择时间').click();
  await page1.locator('[id="\\31 713088421911-0-input"]').getByText('04').click();
  await page1.locator('[id="\\31 713088421911-0-input"]').getByText('08').click();
  await page1.getByText('此刻').click();
  await page1.locator('div').filter({ hasText: /^number1$/ }).getByRole('spinbutton').click();
  await page1.locator('div').filter({ hasText: /^number1$/ }).getByRole('spinbutton').fill('1');
  await page1.locator('div').filter({ hasText: /^amount$/ }).getByRole('spinbutton').click();
  await page1.locator('div').filter({ hasText: /^amount$/ }).getByRole('spinbutton').fill('322');
  await page1.locator('div').filter({ hasText: /^percent1$/ }).getByRole('spinbutton').click();
  await page1.locator('div').filter({ hasText: /^percent1$/ }).getByRole('spinbutton').fill('%1');
  await page1.locator('div').filter({ hasText: /^不可见$/ }).nth(2).click();
  await page1.locator('input[name="pawd__c"]').fill('123456');
  await page1.locator('.antd-Picker-valueWrap').click();
  await page1.getByRole('row', { name: 'test test@steedos.com - - test' }).locator('i').click();
  await page1.getByRole('button', { name: '确认' }).click();
  await page1.getByText('请选择', { exact: true }).click();
  await page1.getByText('疫情情况通报').click();
  await page1.locator('div').filter({ hasText: /^masterdetail1疫情情况通报$/ }).locator('a').click();
  await page1.locator('input[name="name"]').click();
  await page1.locator('input[name="name"]').fill('test');
  await page1.getByRole('button', { name: '保存', exact: true }).click();
});